#include "checker.h"
#include "constants.h"
#include "dist_calculator.h"
#include "graph.h"
#include "modifier.h"
#include "process_state.h"
#include "event.h"
#include "broot_force.h"
#include "graph_tools.h"
#include "broot_wrapper.h"

#include <iostream>

using std::cout;
using std::endl;

int main()
{
    BrootForceWrapper wrapper;
    for (size_t d = 1; d <= 4 * n; ++d) {
        FullGraph gd(d, d);
        draw(&gd, gd.name() + "!!!");
        if (biparate(&gd)) {
            cout << "FullGraph " << gd.name() << " is biparate" << endl;
            continue;
        }
        if (naiveColoring(&gd) <= n + 1) {
            cout << "FullGraph " << gd.name() << " can be colored naive" << endl;
            continue;
        }
        if (runningNaiveColoring(&gd) <= n + 1) {
            cout << "FullGraph " << gd.name() << " can be colored running naive" << endl;
            continue;
        }
        cout << "!@! FullGraph " << gd.name() << " is unknown" << endl;
        wrapper.runBroot(d);
    }
}
